Günümüzde, yazılım geliştirme dünyasında hızlı, güvenilir ve etkili bir iletişim için web servisleri büyük bir öneme sahiptir. Representational State Transfer, yani REST, bu web servislerinin tasarlanması ve iletişimi için popüler bir mimari tarzıdır. REST API (Application Programming Interface), yazılım uygulamalarının birbirleriyle etkileşimde bulunmasını sağlayan ve REST prensiplerine uygun olarak tasarlanan bir arayüzdür.
REST Nedir?
REST, ölçeklenebilir, basit ve geniş kullanılabilirlik sunan bir yapıdır. REST, HTTP protokolü üzerinde çalışan ve genellikle JSON formatındaki verileri kullanarak iletişim kuran sistemler arasında tercih edilen bir protokoldür. Ek olarak SOAP (Simple Object Access Protocol) için kullanımı zorunlu olan WSDL (Web Service Description Language) ‘ e ihtiyacı bulunmamaktadır.
Temel REST Prensipleri
- Stateless: Her istek, bağımsız ve birbirinden bağımsızdır. İstemci-sunucu etkileşiminde sunucu, istemciden gelen her talebi bağımsız bir istek olarak ele alır ve hiçbir istemci durumu sunucuda saklamaz. Bu sayede sistem ölçeklenebilir ve dayanıklı olur.
- Client-Server: Bu prensip, istemcilerin ve sunucuların bağımsız olarak geliştirilebilmesini sağlar. İstemci-sunucu mimarisi, kullanıcı arayüzü (istemci) ve uygulama mantığı (sunucu) arasında bir ayrım yapar, bu da sistemdeki değişikliklerin bir tarafı etkilemeden diğer tarafı etkilemesine izin verir.
- Uniform Interface: Bu prensip, sistemdeki bileşenler arasında genel bir iletişim standardı sağlar. Bu standart, sistemdeki farklı bileşenlerin birbirleriyle etkileşimde bulunmasını kolaylaştırır ve bakımı basitleştirir.
- Cacheable: Sunucu, cevapları önbelleğe alınabilir olarak işaretleyebilir. Bu sayede aynı istekler tekrarlandığında, aynı veri kullanılabilir ve ağ trafiği azaltılabilir.
- Layered System: Bu prensip, sistemdeki farklı bileşenlerin katmanlar halinde olmasını sağlar. Her katman, belirli bir sorumluluk taşır ve bu katmanlar birbirinden bağımsızdır. Bu sayede sistem ölçeklenebilir ve esnek olur.
REST API Nedir?
REST API, bir yazılım uygulamasının, bir başka yazılım uygulamasıyla iletişim kurmasını sağlayan bir arayüzdür. Bu arayüz, REST prensiplerine uygun olarak tasarlanmıştır ve genellikle HTTP protokolü üzerinde çalışır. REST API’lar, kaynaklar üzerinde CRUD (Create, Read, Update, Delete) operasyonlarını gerçekleştirmek için kullanılır.
REST API Özellikleri:
- HTTP Metodları: GET, POST, PUT, DELETE gibi standart HTTP metotları, REST API üzerinde farklı işlemleri temsil eder.
- URI (Uniform Resource Identifier): Her kaynak, benzersiz bir tanımlayıcıya sahiptir. Bu tanımlayıcı, URI üzerinden belirtilir.
- Veri Formatları: REST API’lar genellikle JSON veya XML formatında veri ile çalışır. Bu, veri alışverişi için standart bir formattır.
- HATEOAS (Hypermedia As The Engine Of Application State): Bu prensip, bir uygulamanın durumunu değiştirmek için izlenmesi gereken adımları içeren bağlantıları içerir.



